/**
 * 修复ES模块导入路径，添加.js扩展名
 */
const fs = require('fs');
const path = require('path');

function fixImports(dir) {
    const files = fs.readdirSync(dir);
    
    files.forEach(file => {
        const filePath = path.join(dir, file);
        const stat = fs.statSync(filePath);
        
        if (stat.isDirectory()) {
            fixImports(filePath);
        } else if (file.endsWith('.js') && !file.endsWith('.d.ts')) {
            let content = fs.readFileSync(filePath, 'utf8');
            
            // 匹配相对路径导入，但不包含扩展名的
            const importRegex = /from\s+['"](\.\.?\/[^'"]+)['"]/g;
            
            content = content.replace(importRegex, (match, importPath) => {
                // 如果已经有扩展名，跳过
                if (importPath.endsWith('.js')) {
                    return match;
                }
                // 添加.js扩展名
                return match.replace(importPath, importPath + '.js');
            });
            
            fs.writeFileSync(filePath, content, 'utf8');
        }
    });
}

// 修复dist目录下的所有文件
const distDir = path.join(__dirname, 'dist');
if (fs.existsSync(distDir)) {
    fixImports(distDir);
    console.log('已修复所有导入路径，添加了.js扩展名');
} else {
    console.error('dist目录不存在，请先运行 npm run build');
}

